/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ui;

import java.util.ArrayList;
import java.util.List;
import javax.swing.table.AbstractTableModel;
import modelo.DocumentosRelacionadosTramite;


/**
 *
 * @author Acer
 */
public class RutasTramitesTableModel  extends AbstractTableModel{
    
String[] columnNames = {"Documentos Relacionados"};
 /**
 * Lista de direcciones que se van a mostrar en la tabla
 */
List<DocumentosRelacionadosTramite> documentosRelacionados = new ArrayList<DocumentosRelacionadosTramite>();


    public void setDirecciones(List<DocumentosRelacionadosTramite> documentosRelacionados) {
        this.documentosRelacionados = documentosRelacionados;
    }
 /**
     * Este metodo agrega una direccion a la lista de direcciones
     * @param direccion 
     */   
 public void agregarDireccion(DocumentosRelacionadosTramite documentosRelacionados){
 this.documentosRelacionados.add(documentosRelacionados);
 }

 /**
     * Permite obtener una direccion indicando la fila en la que se encuentra en 
     * la tabla
     * @param posicion
     * @return 
     */
    public DocumentosRelacionadosTramite getElementAt(int posicion) {
        return this.documentosRelacionados.get(posicion);
    }

    /**
     * Sobreescribimos este método para que no se puedan editar los valores
     * que se encunetran en las celdas de la tabla mostrada en la pantalla
     * @param row numero de fila
     * @param column numero de columna
     * @return true si la celda se puede modificar, false en caso contrario
     */
    @Override
    public boolean isCellEditable(int row, int column) {
        // Aquí devolvemos true o false según queramos que una celda
        // identificada por fila,columna (row,column), sea o no editable
        return false;
    }

    /**
     * Devuelve la cantidad de filas de la tabla
     * @return 
     */
    @Override
    public int getRowCount() {
        return this.documentosRelacionados.size();
    }

    /**
     * Devuelve la cantidad de columnas de la tabla
     * @return 
     */
    @Override
    public int getColumnCount() {
        return this.columnNames.length;
    }

    /**
     * Devuelve el nombre de cada columna para utilizarse en el encabezado
     * @param col
     * @return 
     */
    @Override
    public String getColumnName(int col) {
        return columnNames[col].toString();
    }

    @Override
    public Object getValueAt(int rowIndex, int columnIndex) {
       Object object="";
       switch (columnIndex) {
            case 0:
                object = this.documentosRelacionados.get(rowIndex).getUrlDocumentosRelacionados();
                break;
       }
        return object;  
      
    }
    
    public void borrar(DocumentosRelacionadosTramite documento){
        this.documentosRelacionados.remove(documento);    
    }
   
}
